<!-- 管理员界面 -->
<title>后台管理员</title>

<div class="layui-card layadmin-header">
	<div class="layui-breadcrumb" lay-filter="breadcrumb">
		<a lay-href="">主页</a>
		<a><cite>用户</cite></a>
		<a><cite>后台管理员</cite></a>
	</div>
</div>

<!-- 顶部查询 -->
<div class="layui-fluid">
	<div class="layui-card">
		<div class="layui-form layui-card-header layuiadmin-card-header-auto" lay-filter="layadmin-useradmin-formlist">
			<div class="layui-form-item">
				<div class="layui-inline">
					<label class="layui-form-label">昵称</label>
					<div class="layui-input-block">
						<input type="text" name="name" placeholder="请输入" autocomplete="off" class="layui-input">
					</div>
				</div>

				<div class="layui-inline">
					<label class="layui-form-label">角色</label>
					<div class="layui-input-block">
						<select name="role">
							<option value="1">超级管理员</option>
							<option value="2">纠错员</option>
						</select>
					</div>
				</div>
				<div class="layui-inline">
					<button class="layui-btn layuiadmin-btn-admin" lay-submit lay-filter="LAY-user-back-search">
						<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
					</button>
				</div>
			</div>
		</div>

		<!-- 中部 -->
		<div class="layui-card-body">
			<div style="padding-bottom: 10px;">
				<button class="layui-btn layuiadmin-btn-admin" data-type="batchdel">删除</button>
				<button class="layui-btn layuiadmin-btn-admin" data-type="add">添加</button>
			</div>

			<!-- 表格开始 -->
			<table id="LAY-user-back-manage" lay-filter="LAY-user-back-manage"></table>
			<!-- 状态 -->
			<script type="text/html" id="buttonRole">
				{{# layui.each(d.roleList, function(index, item){     }}
			        <span class="layui-badge layui-bg-blue">{{ item.name}}</span>
			    {{# });  }}
			  
			</script>




			<!-- 状态 -->
			<script type="text/html" id="buttonTpl">
				{{#  if(d.status == 0){ }}
          <button class="layui-btn layui-btn-xs">正常</button>
        {{#  } else { }}
          <button class="layui-btn layui-btn-primary layui-btn-xs">封禁</button>
        {{#  } }}
      </script>
			<script type="text/html" id="table-useradmin-admin">
				<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
        {{#  if(d.role == '超级管理员'){ }}
          <a class="layui-btn layui-btn-disabled layui-btn-xs"><i class="layui-icon layui-icon-delete"></i>删除</a>
        {{#  } else { }}
          <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
        {{#  } }}
      </script>
		</div>
	</div>
</div>

<script>
	layui.use('sysuser', layui.factory('sysuser')).use(['admin', 'sysuser', 'table'], function() {
		var $ = layui.$,
			setter = layui.setter,
			admin = layui.admin,
			view = layui.view,
			table = layui.table,
			form = layui.form;

		form.render(null, 'layadmin-useradmin-formlist');

		//监听搜索
		form.on('submit(LAY-user-back-search)', function(data) {
			var field = data.field;

			admin.req({
				type: "post",
				contentType: 'application/json; charset=UTF-8',
				url: setter.api_source + 'sysuser/condition',
				data: JSON.stringify({
					"name": field.name
				}),
				beforeSend: function(XMLHttpRequest) {
					//ShowLoading();
				},
				success: function(data, textStatus) {
					console.log(data);
					//执行重载
					table.reload('LAY-user-back-manage', {
						where: field
					});
				},
				complete: function(XMLHttpRequest, textStatus) {
					//HideLoading();
				},
				error: function() {
					//请求出错处理
				}
			});
		});


		// 请求角色信息列表
		var roleList;
		admin.req({
			type: "get",
			async:false,
			dataType: 'json',
			url: setter.api_source + 'sysuser/role',
			beforeSend: function(XMLHttpRequest) {},
			success: function(data, textStatus) {
				// console.log(data.data.roleList);
				roleList = data.data.roleList;
			},
			complete: function(XMLHttpRequest, textStatus) {},
			error: function() {}
		});
		//事件
		var active = {
			batchdel: function() {
				var checkStatus = table.checkStatus('LAY-user-back-manage'),
					checkData = checkStatus.data; //得到选中的数据
				console.log(checkData);
				if (checkData.length === 0) {
					return layer.msg('请选择数据');
				}

				layer.prompt({
					formType: 1,
					title: '敏感操作，请验证口令'
				}, function(value, index) {
					layer.close(index);

					layer.confirm('确定删除吗？', function(index) {
						var arr = new Array();
						checkData.forEach(function(item) {
							arr.push(item.id);
						})
						admin.req({
							type: "post",
							// contentType: 'application/json; charset=UTF-8',
							dataType: 'json',
							data: {
								ids: arr
							},
							url: setter.api_source + 'sysuser/delete',
							beforeSend: function(XMLHttpRequest) {
								//ShowLoading();
							},
							success: function(data, textStatus) {
								table.reload('LAY-user-back-manage');
								layer.msg('已删除');
							},
							complete: function(XMLHttpRequest, textStatus) {
								HideLoading();
							},
							error: function() {
								//请求出错处理
								layer.msg('删除错误');
							}
						});


					});
				});
			},
			add: function() {
				admin.popup({
					title: '添加管理员',
					area: ['420px', '450px'],
					id: 'LAY-popup-useradmin-add',
					success: function(layero, index) {
						view(this.id).render('user/administrators/user/sysuseraddform', roleList).done(function() {
							//更新 lay-filter="test1" 所在容器内的全部表单状态
							form.render(null, 'layuiadmin-form-admin');


							//监听提交
							form.on('submit(LAY-user-back-submit)', function(data) {
								var field = data.field; //获取提交的字段
								console.log(field);
								// 提交 Ajax 成功后，关闭当前弹层并重载表格
								// TODO
								var status = "1";
								if (field.status != null) {
									status = field.status;
								}
								// 组织权限
								var roleIdList = new Array();
								$("input:checkbox[name='roleIdList']:checked").each(function() { // 遍历name=roleIdList的多选框
									roleIdList.push($(this).val());
								});
								console.log(roleIdList);
								
								admin.req({
									type: "post",
									contentType: 'application/json; charset=UTF-8',
									data: JSON.stringify({
										"account": field.account,
										"name": field.name,
										"password": field.password,
										"roleIdList": roleIdList,
										"status": status
									}),
									url: setter.api_source + 'sysuser/saveOrUpdate',
									beforeSend: function(XMLHttpRequest) {
										//ShowLoading();
									},
									success: function(data, textStatus) {
										layui.table.reload('LAY-user-back-manage'); //重载表格
										// layer.close(index); //执行关闭 
									},
									complete: function(XMLHttpRequest, textStatus) {
										//HideLoading();
									},
									error: function() {
										//请求出错处理
									}
								});




								layui.table.reload('LAY-user-back-manage'); //重载表格
								layer.close(index); //执行关闭 
							});
						});
					}
				});
			}
		}
		$('.layui-btn.layuiadmin-btn-admin').on('click', function() {
			var type = $(this).data('type');
			active[type] ? active[type].call(this) : '';
		});
	});
</script>
